package com.zxy.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.zxy.pojo.dto.MenuQueryDTO;
import com.zxy.pojo.entity.SysMenu;
import com.zxy.pojo.vo.SysMenuVO;

import java.util.List;

/**
 * 菜单Service接口
 */
public interface SysMenuService extends IService<SysMenu> {

    /**
     * 无分页查询菜单列表（构建树形结构）
     * @param query 查询条件
     * @return 树形结构的菜单VO列表
     */
    List<SysMenuVO> getMenuTreeList(MenuQueryDTO query);

    /**
     * 构建菜单树形结构（复用逻辑）
     * @param menuVoList 原始菜单VO列表
     * @return 树形结构的菜单VO列表
     */
    List<SysMenuVO> buildMenuTree(List<SysMenuVO> menuVoList);

    /**
     * 递归查询子菜单（用于树形构建）
     * @param parentId 父菜单ID
     * @return 子菜单VO列表
     */
    List<SysMenuVO> getChildrenMenuList(Long parentId);
}